package com.dews.course.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dews.course.domain.entity.DegreeGrade;
import com.dews.course.domain.ro.DegreeGradeRo;
import com.dews.course.domain.vo.DegreeGradeVo;

import java.util.List;

/**
 * 学业成绩成绩统计Service接口
 * 
 * @author qingfeng
 * @date 2025-02-03
 */
public interface IDegreeGradeService extends IService<DegreeGrade> {

    /**
     * 每日统计学生的学分绩点信息
     */
    void statisticsDegreeGrade();

    /**
     * 学位预警
     */
    void degreeWarning();

    /**
     * 获取学生的学业成绩信息
     * @return
     */
    DegreeGradeRo getUserDegreeGrade();





    /**
     * 查询学业成绩成绩统计
     * 
     * @param id 学业成绩成绩统计主键
     * @return 学业成绩成绩统计
     */
    public DegreeGradeVo selectDegreeGradeById(Integer id);

    /**
     * 查询学业成绩成绩统计列表
     * 
     * @param degreeGradeVo 学业成绩成绩统计
     * @return 学业成绩成绩统计集合
     */
    public List<DegreeGradeVo> selectDegreeGradeList(DegreeGradeVo degreeGradeVo);

    /**
     * 新增学业成绩成绩统计Vo
     * 
     * @param degreeGrade 学业成绩成绩统计
     * @return 结果
     */
    public int insertDegreeGrade(DegreeGradeVo degreeGradeVo);

    /**
     * 修改学业成绩成绩统计Vo
     * 
     * @param degreeGrade 学业成绩成绩统计
     * @return 结果
     */
    public int updateDegreeGrade(DegreeGradeVo degreeGradeVo);

    /**
     * 批量删除学业成绩成绩统计
     * 
     * @param ids 需要删除的学业成绩成绩统计主键集合
     * @return 结果
     */
    public int deleteDegreeGradeByIds(List<Integer> ids);

    /**
     * 删除学业成绩成绩统计信息
     * 
     * @param id 学业成绩成绩统计主键
     * @return 结果
     */
    public int deleteDegreeGradeById(Integer id);
}
